<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSDP Help: D:/doxy/PublicAPI/ATGeometrySet/XRotMatrix.h 源文件</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">SSDP Help<span id="projectnumber">&#160;2.04.01</span>
   </div>
   <div id="projectbrief">仅供测试</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.3 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',false,false,'search.php','搜索');
});
/* @license-end */
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_52a01df1794e5beec01860bdd05aea48.html">PublicAPI</a></li><li class="navelem"><a class="el" href="../../dir_3ae1ea863de6943fe2c5c18439480f66.html">ATGeometrySet</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle"><div class="title">XRotMatrix.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span>BEGIN_ATEC_NAMESPACE</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html">   11</a></span><span class="keyword">struct </span>ATGEOSET_EXPORT <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span>{</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span>    <span class="keywordtype">double</span> form3d[3][3];</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a71d63e158bd95df42f6eb1578a7dee41">   25</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a71d63e158bd95df42f6eb1578a7dee41">FromIdentity</a>();</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a04b56a7a33e7bbab035512662cc39403">   36</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a04b56a7a33e7bbab035512662cc39403">InitIdentity</a>();</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ab23d2d0f5815ba524429ba120124fe3f">   48</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ab23d2d0f5815ba524429ba120124fe3f">FromScale</a>(<span class="keywordtype">double</span> scale);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#acef44b23475b6b7de071cd184a6df2eb">   60</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#acef44b23475b6b7de071cd184a6df2eb">InitFromScale</a>(<span class="keywordtype">double</span> scale);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a910bdd8baf208f94c5286c80a40f4782">   74</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a910bdd8baf208f94c5286c80a40f4782">FromScaleFactors</a></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>    (</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>        <span class="keywordtype">double</span>          xscale,</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>        <span class="keywordtype">double</span>          yscale,</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span>        <span class="keywordtype">double</span>          zscale</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>    );</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a19df30953ab9e5ed83f022cdd621cde5">   93</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a19df30953ab9e5ed83f022cdd621cde5">InitFromScaleFactors</a></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>    (</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>        <span class="keywordtype">double</span>          xscale,</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span>        <span class="keywordtype">double</span>          yscale,</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>        <span class="keywordtype">double</span>          zscale</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>    );</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span> </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a572a8d474cc35acc59f9a698db860d3b">  111</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a572a8d474cc35acc59f9a698db860d3b">NormalizeColumnsOf</a></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>    (</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>        XRotMatrixCR     inMatrix,</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>        XVec3dR         scaleVector</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>    );</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span> </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a073d52040372397db7ba1d56e18ae9a8">  129</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a073d52040372397db7ba1d56e18ae9a8">FromColumnVectors</a></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span>    (</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>        XVec3dCR        vectorU,</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>        XVec3dCR        vectorV,</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>        XVec3dCR        vectorW</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>    );</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span> </div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a37fc9e9e7ddd497e53fb73320d7f8a4c">  148</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a37fc9e9e7ddd497e53fb73320d7f8a4c">InitFromColumnVectors</a></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>    (</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>        XVec3dCR        vectorU,</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>        XVec3dCR        vectorV,</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>        XVec3dCR        vectorW</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>    );</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a709a59318a8d515a63e9fa5442fc4f1f">  167</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a709a59318a8d515a63e9fa5442fc4f1f">FromRowVectors</a></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>    (</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>        XVec3dCR        vectorU,</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>        XVec3dCR        vectorV,</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>        XVec3dCR        vectorW</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>    );</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span> </div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a80d5fa8754710b29e4ec46b612176989">  186</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a80d5fa8754710b29e4ec46b612176989">InitFromRowVectors</a></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>    (</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>        XVec3dCR        vectorU,</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>        XVec3dCR        vectorV,</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>        XVec3dCR        vectorW</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span>    );</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span> </div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#aae78b58d294cbab16f0b64824aedb708">  204</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#aae78b58d294cbab16f0b64824aedb708">FromVectorAndRotationAngle</a>(XVec3dCR axis, <span class="keywordtype">double</span> radians);</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ae3a2a273e62e59043690772ab37ae565">  217</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ae3a2a273e62e59043690772ab37ae565">InitFromVectorAndRotationAngle</a></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span>    (</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>        XVec3dCR        axis,</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>        <span class="keywordtype">double</span>          radians</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>    );</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span> </div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#aee2b683634a25cac84f3122b390b80d8">  234</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#aee2b683634a25cac84f3122b390b80d8">FromAxisAndRotationAngle</a></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>    (</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>        <span class="keywordtype">int</span>             axis,</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>        <span class="keywordtype">double</span>          radians</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>    );</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span> </div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#afbfa1201fa49641f6024ed22d18d0fef">  251</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#afbfa1201fa49641f6024ed22d18d0fef">InitFromAxisAndRotationAngle</a></div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>    (</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>        <span class="keywordtype">int</span>             axis,</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span>        <span class="keywordtype">double</span>          radians</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>    );</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span> </div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a0453746924aebcef6f0c4507f7f902df">  268</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a0453746924aebcef6f0c4507f7f902df">InitRotationFromVectorToVector</a></div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>    (</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span>        XVec3dCR startVector,</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span>        XVec3dCR endVector</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span>    );</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#abb4d869860e37c5c9cd87ce757a7c4e0">  284</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#abb4d869860e37c5c9cd87ce757a7c4e0">FromRotate90</a>(XVec3dCR axis);</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span> </div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#acab480efb156c5472e69eff1a30246f9">  298</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#acab480efb156c5472e69eff1a30246f9">From1Vector</a></div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno">  299</span>    (</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span>        XVec3dCR        dir,</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span>        <span class="keywordtype">int</span>             axis,</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span>        <span class="keywordtype">bool</span>            normalize</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>    );</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span> </div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ad512442f327550acc3bcd0583fd2ed31">  317</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ad512442f327550acc3bcd0583fd2ed31">InitFrom1Vector</a></div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span>    (</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span>        XVec3dCR        dir,</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span>        <span class="keywordtype">int</span>             axis,</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span>        <span class="keywordtype">bool</span>            normalize</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span>    );</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span> </div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ac710854006e092ef307fd84cb9738652">  335</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ac710854006e092ef307fd84cb9738652">From2Vectors</a></div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno">  336</span>    (</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span>        XVec3dCR        xVector,</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno">  338</span>        XVec3dCR        yVector</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span>    );</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span> </div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a65a6cde0ae537ae5b44dd62251a122cc">  352</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a65a6cde0ae537ae5b44dd62251a122cc">InitFrom2Vectors</a></div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span>    (</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span>        XVec3dCR        xVector,</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span>        XVec3dCR        yVector</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno">  356</span>    );</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span> </div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a27ec971c53c14a5fb363710850061e31">  372</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a27ec971c53c14a5fb363710850061e31">SquareAndNormalizeColumns</a></div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span>    (</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span>        XRotMatrixCR     inMatrix,</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno">  375</span>        <span class="keywordtype">int</span>             primaryAxis,</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span>        <span class="keywordtype">int</span>             secAxis</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno">  377</span>    );</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno">  378</span> </div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span>    <span class="keywordtype">bool</span> SquareAndNormalizeColumns</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span>    (</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span>        XRotMatrixCR     inMatrix,</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span>        <span class="keywordtype">int</span>             primaryAxis,</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno">  383</span>        <span class="keywordtype">int</span>             secAxis,</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno">  384</span>        <span class="keywordtype">int</span>             preferredOrientation</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno">  385</span>    );</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno">  386</span> </div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a21fef9095bea7591eba85d00dc5fa3d5">  397</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a21fef9095bea7591eba85d00dc5fa3d5">From</a>(TransformCR transform);</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span> </div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#af666f146cb01bc2580744236b5f19e1f">  409</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#af666f146cb01bc2580744236b5f19e1f">InitFrom</a>(TransformCR transform);</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span> </div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ad123555a27a264749ef7553849678232">  422</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ad123555a27a264749ef7553849678232">InitProduct</a></div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span>    (</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno">  424</span>        XRotMatrixCR     rotMatrixA,</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno">  425</span>        XRotMatrixCR     rotMatrixB</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span>    );</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span> </div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a9c1e619b13c6e1c3efb3d1cfd0941287">  440</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a9c1e619b13c6e1c3efb3d1cfd0941287">InitProduct</a></div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno">  441</span>    (</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno">  442</span>        XRotMatrixCR     rotMatrixA,</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno">  443</span>        XRotMatrixCR     rotMatrixB,</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno">  444</span>        XRotMatrixCR     rotMatrixC</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno">  445</span>    );</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno">  446</span> </div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ad1991f89e5f10dfc56799a9e1972c7d9">  458</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ad1991f89e5f10dfc56799a9e1972c7d9">InitProduct</a></div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno">  459</span>    (</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  460</span>        XRotMatrixCR     rotMatrixA,</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span>        TransformCR     transformB</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  462</span>    );</div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span> </div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#af329c78553f5e98ccecbbd5e4aa58bc6">  474</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#af329c78553f5e98ccecbbd5e4aa58bc6">InverseOf</a>(XRotMatrixCR forward);</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span> </div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#aa9c497c7519a0d2c1b7f62103a77045d">  485</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#aa9c497c7519a0d2c1b7f62103a77045d">Invert</a>();</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span> </div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#acafbe25a7b4b3d4861f77919845bdc8f">  499</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#acafbe25a7b4b3d4861f77919845bdc8f">Multiply</a></div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno">  500</span>    (</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno">  501</span>        XPoint4dP       result,</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno">  502</span>        XPoint4dCP      point,</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno">  503</span>        <span class="keywordtype">int</span>             numPoint</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno">  504</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno">  505</span> </div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ab3bf8afde25bc37b869dc2e0d72a588c">  518</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ab3bf8afde25bc37b869dc2e0d72a588c">Multiply</a></div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno">  519</span>    (</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno">  520</span>        XPoint2dP       result,</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span>        XPoint2dCP      point,</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span>        <span class="keywordtype">int</span>             numPoint</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno">  523</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno">  524</span> </div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a6ed41c8efc04642fa66813538db9005d">  536</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a6ed41c8efc04642fa66813538db9005d">Multiply</a></div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno">  537</span>    (</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno">  538</span>        XRange3dR       outRange,</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno">  539</span>        XRange3dCR      inRange</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno">  540</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno">  541</span> </div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ad8f18a13913cffff2a204871c11c6cdb">  552</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ad8f18a13913cffff2a204871c11c6cdb">Multiply</a>(XPoint3dR point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span> </div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ae60a4250cccad1651097b69ede63bb5c">  565</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ae60a4250cccad1651097b69ede63bb5c">Multiply</a></div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno">  566</span>    (</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno">  567</span>        XPoint3dR       result,</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno">  568</span>        XPoint3dCR      point</div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno">  569</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno">  570</span> </div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a5f4d0401ab0b7e7889c2592b14174264">  582</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a5f4d0401ab0b7e7889c2592b14174264">MultiplyTranspose</a></div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno">  583</span>    (</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno">  584</span>        XPoint3dR       result,</div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno">  585</span>        XPoint3dCR      point</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno">  586</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno">  587</span> </div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a4b9ec5d9097691d2452a77507e1f57c9">  598</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a4b9ec5d9097691d2452a77507e1f57c9">MultiplyTranspose</a>(XPoint3dR point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno">  599</span> </div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#aba33dfe7e47238d26134fe6a99e51c34">  612</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#aba33dfe7e47238d26134fe6a99e51c34">Multiply</a></div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  613</span>    (</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno">  614</span>        XPoint3dP       result,</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno">  615</span>        XPoint3dCP      point,</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno">  616</span>        <span class="keywordtype">int</span>             numPoint</div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno">  617</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno">  618</span> </div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a2641748f5ef0432c670ad26265f2f558">  631</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a2641748f5ef0432c670ad26265f2f558">MultiplyTranspose</a></div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno">  632</span>    (</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno">  633</span>        XPoint3dP       result,</div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno">  634</span>        XPoint3dCP      point,</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno">  635</span>        <span class="keywordtype">int</span>             numPoint</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno">  636</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno">  637</span> </div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a9cef4255e42309ceeffde4e928bb9ae8">  649</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a9cef4255e42309ceeffde4e928bb9ae8">Multiply</a></div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno">  650</span>    (</div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno">  651</span>        xvector&lt;XPoint3d&gt; &amp;outXYZ,</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno">  652</span>        xvector&lt;XPoint3d&gt; <span class="keyword">const</span> &amp;inXYZ</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno">  653</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno">  654</span> </div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ac7f29c298887616bfc9548929caec77f">  666</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ac7f29c298887616bfc9548929caec77f">MultiplyTranspose</a></div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno">  667</span>    (</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno">  668</span>        xvector&lt;XPoint3d&gt; &amp;outXYZ,</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno">  669</span>        xvector&lt;XPoint3d&gt; <span class="keyword">const</span> &amp;inXYZ</div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno">  670</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno">  671</span> </div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#af62034029b221aa17822e453d4b1c1b8">  683</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#af62034029b221aa17822e453d4b1c1b8">Multiply</a></div>
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno">  684</span>    (</div>
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno">  685</span>        xvector&lt;XPoint2d&gt; &amp;out,</div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno">  686</span>        xvector&lt;XPoint2d&gt; <span class="keyword">const</span> &amp;in</div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno">  687</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno">  688</span> </div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a798c0fc919b960ef5d410bf8c4c43063">  700</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a798c0fc919b960ef5d410bf8c4c43063">Multiply</a></div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno">  701</span>    (</div>
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno">  702</span>        xvector&lt;XPoint4d&gt; &amp;xyzwOut,</div>
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno">  703</span>        xvector&lt;XPoint4d&gt; <span class="keyword">const</span> &amp;xyzwIn</div>
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno">  704</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno">  705</span> </div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#a64ab12e2469ecabb7a4dc7d21f0a18c4">  718</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#a64ab12e2469ecabb7a4dc7d21f0a18c4">GetColumns</a></div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno">  719</span>    (</div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno">  720</span>        XVec3dR         vectorU,</div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno">  721</span>        XVec3dR         vectorV,</div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno">  722</span>        XVec3dR         vectorW</div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno">  723</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno">  724</span> </div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#abbde418b96428b85b60c7d914c5046c5">  736</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#abbde418b96428b85b60c7d914c5046c5">GetColumn</a></div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno">  737</span>    (</div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno">  738</span>        XVec3dR         vector,</div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno">  739</span>        <span class="keywordtype">int</span>             col</div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno">  740</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno">  741</span> </div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#aa26a3a39677a5d94c5589c3e75b868c8">  753</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#aa26a3a39677a5d94c5589c3e75b868c8">SetColumn</a></div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno">  754</span>    (</div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno">  755</span>        XVec3dCR        vector,</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno">  756</span>        <span class="keywordtype">int</span>             col</div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno">  757</span>    );</div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno">  758</span> </div>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ab052d3022e2795d8e424a14b7f407cd2">  768</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ab052d3022e2795d8e424a14b7f407cd2">IsIdentity</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno">  769</span> </div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"><a class="line" href="../../d0/dd2/struct_x_rot_matrix.html#ad5acd591a7c359fbeafd248f80caabc4">  779</a></span>    <span class="keywordtype">double</span> <a class="code hl_function" href="../../d0/dd2/struct_x_rot_matrix.html#ad5acd591a7c359fbeafd248f80caabc4">GetRotationAngleAndVector</a>(XVec3dR axis) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno">  780</span>};</div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno">  781</span> </div>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno">  782</span>END_ATEC_NAMESPACE</div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno">  783</span> </div>
<div class="ttc" id="astruct_x_rot_matrix_html"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html">XRotMatrix</a></div><div class="ttdoc">大小为3*3的旋转矩阵</div><div class="ttdef"><b>Definition:</b> XRotMatrix.h:12</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a0453746924aebcef6f0c4507f7f902df"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a0453746924aebcef6f0c4507f7f902df">XRotMatrix::InitRotationFromVectorToVector</a></div><div class="ttdeci">bool InitRotationFromVectorToVector(XVec3dCR startVector, XVec3dCR endVector)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a04b56a7a33e7bbab035512662cc39403"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a04b56a7a33e7bbab035512662cc39403">XRotMatrix::InitIdentity</a></div><div class="ttdeci">void InitIdentity()</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a073d52040372397db7ba1d56e18ae9a8"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a073d52040372397db7ba1d56e18ae9a8">XRotMatrix::FromColumnVectors</a></div><div class="ttdeci">static XRotMatrix FromColumnVectors(XVec3dCR vectorU, XVec3dCR vectorV, XVec3dCR vectorW)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a19df30953ab9e5ed83f022cdd621cde5"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a19df30953ab9e5ed83f022cdd621cde5">XRotMatrix::InitFromScaleFactors</a></div><div class="ttdeci">void InitFromScaleFactors(double xscale, double yscale, double zscale)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a21fef9095bea7591eba85d00dc5fa3d5"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a21fef9095bea7591eba85d00dc5fa3d5">XRotMatrix::From</a></div><div class="ttdeci">static XRotMatrix From(TransformCR transform)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a2641748f5ef0432c670ad26265f2f558"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a2641748f5ef0432c670ad26265f2f558">XRotMatrix::MultiplyTranspose</a></div><div class="ttdeci">void MultiplyTranspose(XPoint3dP result, XPoint3dCP point, int numPoint) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a27ec971c53c14a5fb363710850061e31"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a27ec971c53c14a5fb363710850061e31">XRotMatrix::SquareAndNormalizeColumns</a></div><div class="ttdeci">bool SquareAndNormalizeColumns(XRotMatrixCR inMatrix, int primaryAxis, int secAxis)</div><div class="ttdoc">按列正交单位化</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a37fc9e9e7ddd497e53fb73320d7f8a4c"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a37fc9e9e7ddd497e53fb73320d7f8a4c">XRotMatrix::InitFromColumnVectors</a></div><div class="ttdeci">void InitFromColumnVectors(XVec3dCR vectorU, XVec3dCR vectorV, XVec3dCR vectorW)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a4b9ec5d9097691d2452a77507e1f57c9"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a4b9ec5d9097691d2452a77507e1f57c9">XRotMatrix::MultiplyTranspose</a></div><div class="ttdeci">void MultiplyTranspose(XPoint3dR point) const</div><div class="ttdoc">转置相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a572a8d474cc35acc59f9a698db860d3b"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a572a8d474cc35acc59f9a698db860d3b">XRotMatrix::NormalizeColumnsOf</a></div><div class="ttdeci">void NormalizeColumnsOf(XRotMatrixCR inMatrix, XVec3dR scaleVector)</div><div class="ttdoc">按列单位化</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a5f4d0401ab0b7e7889c2592b14174264"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a5f4d0401ab0b7e7889c2592b14174264">XRotMatrix::MultiplyTranspose</a></div><div class="ttdeci">void MultiplyTranspose(XPoint3dR result, XPoint3dCR point) const</div><div class="ttdoc">转置相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a64ab12e2469ecabb7a4dc7d21f0a18c4"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a64ab12e2469ecabb7a4dc7d21f0a18c4">XRotMatrix::GetColumns</a></div><div class="ttdeci">void GetColumns(XVec3dR vectorU, XVec3dR vectorV, XVec3dR vectorW) const</div><div class="ttdoc">获取列</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a65a6cde0ae537ae5b44dd62251a122cc"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a65a6cde0ae537ae5b44dd62251a122cc">XRotMatrix::InitFrom2Vectors</a></div><div class="ttdeci">void InitFrom2Vectors(XVec3dCR xVector, XVec3dCR yVector)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a6ed41c8efc04642fa66813538db9005d"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a6ed41c8efc04642fa66813538db9005d">XRotMatrix::Multiply</a></div><div class="ttdeci">void Multiply(XRange3dR outRange, XRange3dCR inRange) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a709a59318a8d515a63e9fa5442fc4f1f"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a709a59318a8d515a63e9fa5442fc4f1f">XRotMatrix::FromRowVectors</a></div><div class="ttdeci">static XRotMatrix FromRowVectors(XVec3dCR vectorU, XVec3dCR vectorV, XVec3dCR vectorW)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a71d63e158bd95df42f6eb1578a7dee41"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a71d63e158bd95df42f6eb1578a7dee41">XRotMatrix::FromIdentity</a></div><div class="ttdeci">static XRotMatrix FromIdentity()</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a798c0fc919b960ef5d410bf8c4c43063"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a798c0fc919b960ef5d410bf8c4c43063">XRotMatrix::Multiply</a></div><div class="ttdeci">void Multiply(xvector&lt; XPoint4d &gt; &amp;xyzwOut, xvector&lt; XPoint4d &gt; const &amp;xyzwIn) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a80d5fa8754710b29e4ec46b612176989"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a80d5fa8754710b29e4ec46b612176989">XRotMatrix::InitFromRowVectors</a></div><div class="ttdeci">void InitFromRowVectors(XVec3dCR vectorU, XVec3dCR vectorV, XVec3dCR vectorW)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a910bdd8baf208f94c5286c80a40f4782"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a910bdd8baf208f94c5286c80a40f4782">XRotMatrix::FromScaleFactors</a></div><div class="ttdeci">static XRotMatrix FromScaleFactors(double xscale, double yscale, double zscale)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a9c1e619b13c6e1c3efb3d1cfd0941287"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a9c1e619b13c6e1c3efb3d1cfd0941287">XRotMatrix::InitProduct</a></div><div class="ttdeci">void InitProduct(XRotMatrixCR rotMatrixA, XRotMatrixCR rotMatrixB, XRotMatrixCR rotMatrixC)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_a9cef4255e42309ceeffde4e928bb9ae8"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#a9cef4255e42309ceeffde4e928bb9ae8">XRotMatrix::Multiply</a></div><div class="ttdeci">void Multiply(xvector&lt; XPoint3d &gt; &amp;outXYZ, xvector&lt; XPoint3d &gt; const &amp;inXYZ) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_aa26a3a39677a5d94c5589c3e75b868c8"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#aa26a3a39677a5d94c5589c3e75b868c8">XRotMatrix::SetColumn</a></div><div class="ttdeci">void SetColumn(XVec3dCR vector, int col)</div><div class="ttdoc">修改列</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_aa9c497c7519a0d2c1b7f62103a77045d"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#aa9c497c7519a0d2c1b7f62103a77045d">XRotMatrix::Invert</a></div><div class="ttdeci">bool Invert()</div><div class="ttdoc">逆</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_aae78b58d294cbab16f0b64824aedb708"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#aae78b58d294cbab16f0b64824aedb708">XRotMatrix::FromVectorAndRotationAngle</a></div><div class="ttdeci">static XRotMatrix FromVectorAndRotationAngle(XVec3dCR axis, double radians)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ab052d3022e2795d8e424a14b7f407cd2"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ab052d3022e2795d8e424a14b7f407cd2">XRotMatrix::IsIdentity</a></div><div class="ttdeci">bool IsIdentity() const</div><div class="ttdoc">是否单位阵</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ab23d2d0f5815ba524429ba120124fe3f"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ab23d2d0f5815ba524429ba120124fe3f">XRotMatrix::FromScale</a></div><div class="ttdeci">static XRotMatrix FromScale(double scale)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ab3bf8afde25bc37b869dc2e0d72a588c"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ab3bf8afde25bc37b869dc2e0d72a588c">XRotMatrix::Multiply</a></div><div class="ttdeci">void Multiply(XPoint2dP result, XPoint2dCP point, int numPoint) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_aba33dfe7e47238d26134fe6a99e51c34"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#aba33dfe7e47238d26134fe6a99e51c34">XRotMatrix::Multiply</a></div><div class="ttdeci">void Multiply(XPoint3dP result, XPoint3dCP point, int numPoint) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_abb4d869860e37c5c9cd87ce757a7c4e0"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#abb4d869860e37c5c9cd87ce757a7c4e0">XRotMatrix::FromRotate90</a></div><div class="ttdeci">static XRotMatrix FromRotate90(XVec3dCR axis)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_abbde418b96428b85b60c7d914c5046c5"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#abbde418b96428b85b60c7d914c5046c5">XRotMatrix::GetColumn</a></div><div class="ttdeci">void GetColumn(XVec3dR vector, int col) const</div><div class="ttdoc">获取列</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ac710854006e092ef307fd84cb9738652"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ac710854006e092ef307fd84cb9738652">XRotMatrix::From2Vectors</a></div><div class="ttdeci">static XRotMatrix From2Vectors(XVec3dCR xVector, XVec3dCR yVector)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ac7f29c298887616bfc9548929caec77f"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ac7f29c298887616bfc9548929caec77f">XRotMatrix::MultiplyTranspose</a></div><div class="ttdeci">void MultiplyTranspose(xvector&lt; XPoint3d &gt; &amp;outXYZ, xvector&lt; XPoint3d &gt; const &amp;inXYZ) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_acab480efb156c5472e69eff1a30246f9"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#acab480efb156c5472e69eff1a30246f9">XRotMatrix::From1Vector</a></div><div class="ttdeci">static XRotMatrix From1Vector(XVec3dCR dir, int axis, bool normalize)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_acafbe25a7b4b3d4861f77919845bdc8f"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#acafbe25a7b4b3d4861f77919845bdc8f">XRotMatrix::Multiply</a></div><div class="ttdeci">void Multiply(XPoint4dP result, XPoint4dCP point, int numPoint) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_acef44b23475b6b7de071cd184a6df2eb"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#acef44b23475b6b7de071cd184a6df2eb">XRotMatrix::InitFromScale</a></div><div class="ttdeci">void InitFromScale(double scale)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ad123555a27a264749ef7553849678232"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ad123555a27a264749ef7553849678232">XRotMatrix::InitProduct</a></div><div class="ttdeci">void InitProduct(XRotMatrixCR rotMatrixA, XRotMatrixCR rotMatrixB)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ad1991f89e5f10dfc56799a9e1972c7d9"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ad1991f89e5f10dfc56799a9e1972c7d9">XRotMatrix::InitProduct</a></div><div class="ttdeci">void InitProduct(XRotMatrixCR rotMatrixA, TransformCR transformB)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ad512442f327550acc3bcd0583fd2ed31"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ad512442f327550acc3bcd0583fd2ed31">XRotMatrix::InitFrom1Vector</a></div><div class="ttdeci">bool InitFrom1Vector(XVec3dCR dir, int axis, bool normalize)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ad5acd591a7c359fbeafd248f80caabc4"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ad5acd591a7c359fbeafd248f80caabc4">XRotMatrix::GetRotationAngleAndVector</a></div><div class="ttdeci">double GetRotationAngleAndVector(XVec3dR axis) const</div><div class="ttdoc">返回单位化旋转轴与旋转角</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ad8f18a13913cffff2a204871c11c6cdb"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ad8f18a13913cffff2a204871c11c6cdb">XRotMatrix::Multiply</a></div><div class="ttdeci">void Multiply(XPoint3dR point) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ae3a2a273e62e59043690772ab37ae565"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ae3a2a273e62e59043690772ab37ae565">XRotMatrix::InitFromVectorAndRotationAngle</a></div><div class="ttdeci">void InitFromVectorAndRotationAngle(XVec3dCR axis, double radians)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_ae60a4250cccad1651097b69ede63bb5c"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#ae60a4250cccad1651097b69ede63bb5c">XRotMatrix::Multiply</a></div><div class="ttdeci">void Multiply(XPoint3dR result, XPoint3dCR point) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_aee2b683634a25cac84f3122b390b80d8"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#aee2b683634a25cac84f3122b390b80d8">XRotMatrix::FromAxisAndRotationAngle</a></div><div class="ttdeci">static XRotMatrix FromAxisAndRotationAngle(int axis, double radians)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_af329c78553f5e98ccecbbd5e4aa58bc6"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#af329c78553f5e98ccecbbd5e4aa58bc6">XRotMatrix::InverseOf</a></div><div class="ttdeci">bool InverseOf(XRotMatrixCR forward)</div><div class="ttdoc">逆矩阵</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_af62034029b221aa17822e453d4b1c1b8"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#af62034029b221aa17822e453d4b1c1b8">XRotMatrix::Multiply</a></div><div class="ttdeci">void Multiply(xvector&lt; XPoint2d &gt; &amp;out, xvector&lt; XPoint2d &gt; const &amp;in) const</div><div class="ttdoc">相乘</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_af666f146cb01bc2580744236b5f19e1f"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#af666f146cb01bc2580744236b5f19e1f">XRotMatrix::InitFrom</a></div><div class="ttdeci">void InitFrom(TransformCR transform)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_rot_matrix_html_afbfa1201fa49641f6024ed22d18d0fef"><div class="ttname"><a href="../../d0/dd2/struct_x_rot_matrix.html#afbfa1201fa49641f6024ed22d18d0fef">XRotMatrix::InitFromAxisAndRotationAngle</a></div><div class="ttdeci">void InitFromAxisAndRotationAngle(int axis, double radians)</div><div class="ttdoc">初始化数据</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
</small></address>
</body>
</html>
